home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Utilities ƒ / MPW Tools ƒ / Simula4.07 / Simula 4.07ƒ / SInterfaces / macMenuItem.sim < prev    next >
Encoding:
Text File  |  1989-05-01  |  3.3 KB  |  87 lines  |  [TEXT/MPS ]

  1. % ---------------------------------------------------------------------------
  2. %    Class MACMenuItem
  3. %
  4. % In this module you find the programmers interface to Menus.
  5. % It is built on top of the TOOLBOX routines in TOOLBOXmenus.
  6. % For a description of the routines see Inside Macintosh, chapter 11.
  7. %
  8. % 890317/Boris Magnusson
  9. % 890330/Göran Eriksson
  10. %
  11. % ---------------------------------------------------------------------------
  12.  
  13. external class toolboxmenu="::SInterfaces:toolboxmenu";
  14. external class MacbasicMenu="::Sinterfaces:macbasicmenu";
  15. external text procedure String_Text="::SInterfaces:String_Text";
  16.  
  17. toolboxMenu class MacMenuItem;
  18.     virtual: procedure domenu is
  19.         procedure domenu(menuid,itemno); integer menuid,itemno;;
  20. begin
  21.     ref(macBasicMenu) partOf;    ! Set to macmenu when item is inserted in a menu ;
  22.     short integer MyNo;             ! My sequence number in the menu (set when inserted);
  23. ! ----------------------------;
  24.  
  25.     procedure doMenu(Menuid,itemno); integer MenuId,itemno;
  26.         begin ! -- defult -- empty implementation -- ; end ;
  27.         
  28. %        PROCEDURE SetItem(menu: MenuHandle; item: INTEGER; itemString: Str255);
  29.     PROCEDURE SetItem(itemString);value itemString;text itemString;
  30.         toolboxsetItem(partOf.menuHandle,MyNo,itemstring);
  31.  
  32. %        PROCEDURE GetItem(menu: MenuHandle; item: INTEGER; VAR itemString: Str255);
  33.     PROCEDURE GetItem(itemString);name itemString;text itemString;
  34.     begin
  35.         text temp;
  36.         temp:-blanks(256);
  37.         ToolboxGetItem(partOf.menuHandle, myNo, temp);
  38.         ItemString:-string_text(temp);
  39.     end;
  40.         
  41. %        PROCEDURE EnableItem(menu: MenuHandle; item: INTEGER);
  42.     PROCEDURE EnableItem;ToolboxEnableItem(partOf.menuHandle, myNo);
  43.     
  44.  
  45. %        PROCEDURE DisableItem(menu: MenuHandle; item: INTEGER);
  46.     PROCEDURE DisableItem;ToolboxDisableItem(partOf.menuHandle, myNo);
  47.  
  48. %        PROCEDURE CheckItem(menu: MenuHandle; item: INTEGER; checked: BOOLEAN);
  49.     PROCEDURE CheckItem(checked);boolean checked;
  50.         ToolboxCheckItem(partOf.menuHandle, myNo, checked);
  51.         
  52. %        PROCEDURE SetItemIcon(menu: MenuHandle; item: INTEGER; iconNum: Byte);
  53.     PROCEDURE SetItemIcon(iconNum);short integer iconNum;
  54.         ToolboxSetItemIcon(partOf.menuHandle, myNo, iconNum);
  55.  
  56. %        PROCEDURE GetItemIcon(menu: MenuHandle; item: INTEGER; VAR iconNum: Byte);
  57.     PROCEDURE GetItemIcon(iconNum);name iconNum;short integer iconNum;
  58.         begin
  59.             short integer localiconNum;
  60.             localiconNum:=iconNum;
  61.             ToolboxGetItemIcon(partOf.menuHandle, myNo, localiconNum);
  62.             iconNum:=localiconNum
  63.         end;
  64.  
  65.  
  66. %        PROCEDURE SetItemStyle(menu: MenuHandle; item: INTEGER; styleVal: Style);
  67. %    StyleItem     = (bold, italic, underline, outline, shadow, condense, extend);
  68. %    Style         = SET OF StyleItem;
  69.     PROCEDURE SetItemStyle(styleVal); short integer styleVal;
  70.         ToolboxSetItemStyle(partOf.menuHandle, myNo, styleVal);
  71.  
  72. % ????    PROCEDURE GetItemStyle(menu: MenuHandle; item: INTEGER; VAR styleVal: Style);
  73.  
  74. %        PROCEDURE SetItemMark(menu: MenuHandle; item: INTEGER; markChar: CHAR);
  75.     PROCEDURE SetItemMark(markChar);character markChar;
  76.         ToolboxSetItemMark(partOf.menuHandle, myNo, markChar);
  77.  
  78. %        PROCEDURE GetItemMark(menu: MenuHandle; item: INTEGER; VAR markChar: CHAR);
  79.     PROCEDURE GetItemMark(markChar); name markChar; character markChar;
  80.         begin
  81.             character localmarkChar;
  82.             localmarkChar:=markChar;
  83.             ToolboxGetItemMark(partOf.menuHandle, myNo, localmarkChar);
  84.             markChar:=localmarkChar;
  85.         end;
  86.  
  87. END --- mac Menu Item --- ;